#include <iostream>

using namespace std;

const int N = 5e4 + 10;
typedef long long LL;
LL len, n, m;
LL a[N];

LL check(int x)
{
	LL ret = 0;
	for(int i = 0; i <= n; i++)
	{
		int j = i + 1;
		while(j <= n && a[j] - a[i] < x) j++;
		ret += j - i - 1;
		i = j - 1;
	}
	return ret;
}

int main()
{
	cin >> len >> n >> m;
	for(int i = 1; i <= n; i++) cin >> a[i];
	LL l = 1, r = len;
	n++; a[n] = len;
	while(l < r)
	{
		int mid = (l + r + 1) >> 1;
		if(check(mid) <= m) l = mid;
		else r = mid - 1;
	}
	cout << l << endl;
	return 0;
} 
